class Reporter():
    def __init__(self):
        ""
        self.worker_table = []
        self.global_stats = {}
    def __repr__(self):
        ""
        return "Reporter class"
    def WorkerTable(self):
        return self.worker_table
    def GlobalStatsTable(self):
        return self.global_stats
    def MakeSummary(self):
        hits, fetched, failed = 0,0,0
        for worker in self.worker_table:
            hits += worker['hits']
            fetched += worker['fetched']
            failed += worker['failed']
        self.global_stats['hits'] = hits
        self.global_stats['fetched'] = fetched
        self.global_stats['failed'] = failed
        gs = self.global_stats
        fetched_failed = 0
        try:
            fetched_failed = (float(gs['fetched'])*100/float(gs['failed']))
        except ZeroDivisionError:
            fetched_failed = 100
        summary = "Job summary: fetched/failed/hits/targets (%d/%d/%d/%d)\n" % (gs['fetched'], gs['failed'], gs['hits'], gs['targets_num'])
        summary += "effectivity: %2.2f%%, success-failure rate: %2.2f%%\n" % (float(gs['fetched'])*100/float(gs['hits']), fetched_failed)
        summary += "Scan took DD:HH:MM:SS with %d threads. XX hits/sec."  % len(self.worker_table)#time needs to be implemented.
        return summary